﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://master-of-omega/GalaxyConfiguration.xsd" 
           xmlns="http://master-of-omega/GalaxyConfiguration.xsd" 
           xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="GalaxyConfigurations">
    <xs:complexType>
      <xs:sequence maxOccurs="unbounded" minOccurs="1">
        <xs:element name="Galaxy">
          <xs:complexType>
            <xs:sequence maxOccurs="unbounded" minOccurs="0">
              <xs:element minOccurs="1" maxOccurs="1" name="Stars">
                <xs:annotation>
                  <xs:documentation>Define the number of Stars</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:attribute name="total_count" type="xs:int" use="required" />
                  <xs:attribute name="sprinkle_arms" type="xs:int" use="required" />
                  <xs:attribute name="springle_bulge" type="xs:int" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="1" maxOccurs="1" name="ArmDesript">
                <xs:complexType>
                  <xs:attribute name="number_of_arms" type="xs:int" use="required" />
                  <xs:attribute name="segment_length" type="xs:int" use="required" />
                  <xs:attribute name="segment_rotation" type="xs:double" use="required" />
                  <xs:attribute name="segment_length_increment" type="xs:int" use="required" />
                  <xs:attribute name="rotation_decrement" type="xs:int" use="required" />
                  <xs:attribute name="number_segments" type="xs:int" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="1" maxOccurs="1" name="Distances">
                <xs:complexType>
                  <xs:attribute name="Maximum_distance_star_from_arm" type="xs:int" use="required" />
                  <xs:attribute name="Radius_of_central_bulge" type="xs:int" use="required" />
                  <xs:attribute name="Radius_of_random_sprinkle" type="xs:int" use="required" />
                  <xs:attribute name="Minimum_inter_star_distance" type="xs:int" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="Starlane_Descript">
                <xs:complexType>
                  <xs:attribute name="Max_num_lanes_per_star" type="xs:int" use="required" />
                  <xs:attribute name="Max_starlane_distance" type="xs:int" use="required" />
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="Chance_Descript">
                <xs:complexType>
                  <xs:attribute name="Die_roll_size" type="xs:int" use="required" />
                  <xs:attribute name="Base_chance_for_star_lane" type="xs:int" use="required" />
                  <xs:attribute name="Chance_deduction_per_exsisting_starlane" type="xs:int" use="required" />
                  <xs:attribute name="Closest_n_stars_to_compute_for_star_lanes" type="xs:int" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="type" type="xs:string" use="required" />
            <xs:attribute name="Name" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>